Skip to content

feat(appkit): no-config chat UI#368

Open
hubertzub-db wants to merge 2 commits into
databricks:mainfrom
hubertzub-db:agent/v2/chatui/2-full-chat
Open

feat(appkit): no-config chat UI#368
hubertzub-db wants to merge 2 commits into
databricks:mainfrom
hubertzub-db:agent/v2/chatui/2-full-chat

Conversation

@hubertzub-db
Copy link
Copy Markdown

@hubertzub-db hubertzub-db commented May 8, 2026

Builds on top of the chat primitives from the previous PR to ship a fully-styled, batteries-included chat UI that works against an agents()-backed AppKit server with literally one line of JSX.

What's new

A new <ChatApp /> component in @databricks/appkit-ui/react/chat:

import { ChatApp } from "@databricks/appkit-ui/react/chat";

export function MyChat() {
  return (
    <div className="h-svh">
      <ChatApp />
    </div>
  );
}

That's the whole thing. No props, no callbacks, no slots. It defaults api to /api/agents/chat (the AppKit agents() plugin's default mount path), handles approval cards end-to-end (including POSTing the decision to /api/agents/approve), and renders a polished UI: greeting/empty state, message bubbles, reasoning panel, tool-call cards, markdown rendering, and a composer.

Demo

Screen.Recording.2026-05-08.at.15.30.32.mov

Tool approval

approval-new

Reasoning

reasoning-ui

For people who outgrow the defaults, every section has a render* slot (renderMessage, renderToolCall, renderComposer) and you can override api, approveUrl, placeholder, etc.

Why

The previous PR gave us the building blocks (headless <Conversation>, <ChatInput>, hooks, transport) for people who want full control. But "full control" is overkill for the 80% case where you just want a chat that works. <ChatApp /> is the opinionated counterpart: zero-config for the default agents-plugin setup, with sensible escape hatches when you need them.

Playground

A new /agent-chat-full route showcases the no-config path: literally one <ChatApp /> tag in a sized container. Sits next to the existing /agent route (which stays as the build-your-own example).

@hubertzub-db hubertzub-db requested a review from a team as a code owner May 8, 2026 13:26
@hubertzub-db hubertzub-db requested a review from calvarjorge May 8, 2026 13:26
@hubertzub-db hubertzub-db force-pushed the agent/v2/chatui/2-full-chat branch 3 times, most recently from 3635710 to ec456f5 Compare May 8, 2026 15:29
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
@hubertzub-db hubertzub-db force-pushed the agent/v2/chatui/2-full-chat branch 3 times, most recently from 0f22261 to d2c99cc Compare May 18, 2026 13:09
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
@hubertzub-db hubertzub-db force-pushed the agent/v2/chatui/2-full-chat branch from d2c99cc to 236147a Compare May 18, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant